package com.chenju.invokechainservice.service;

import com.chenju.invokechainservice.adapter.ClassNodeAdapter;
import com.chenju.invokechainservice.common.enums.ChangeType;
import com.chenju.invokechainservice.common.exceptions.FunnyFileNotFoundException;
import com.chenju.invokechainservice.domain.DiffMethodEntity;
import com.chenju.invokechainservice.domain.TClassNode;
import com.github.javaparser.ast.CompilationUnit;

import java.io.IOException;
import java.util.List;
import java.util.Map;

public interface TClassNodeService {
    TClassNode findByName(String name);

    void parseSingleFileToNode(ClassNodeAdapter cna, String applicationName);

    void parseMultipleFileToNode(ClassNodeAdapter cna, String applicationName);

    // void parseProjectToNode(String codePath);
    void parseProjectToNode(String codePath) throws IOException;

    TClassNode save(TClassNode node);

    TClassNode findByNameAndApplicationName(String name, String applicationName);

    void deleteAllNodesAndRelations();

}
